/*
 * @author: huangww
 * @Date: 2021-02-22 15:34:30
 * @LastEditTime: 2021-03-01 14:46:29
 * @FilePath: \fmgr\src\core\mgr\StorageMgr.ts
 */
namespace core {
    /**
     * 本地存储管理，以玩家id为标识区分缓存域
     */
    export class StorageMgr {
        private static gameId: string = "null";               //玩家唯一标识

        /**
         * 设置gameId
         */
        public static setGameId(gameId: string) {
            this.gameId = gameId;
        }

        /**
         * 返回gameId
         */
        public static getGameId() {
            return this.gameId;
        }

        /**
         * 保存数据
         * @param  {string} key 数据key
         * @param  {string} value   数据
         * @param  {boolean=true} isGlobal 是否全局保存
         */
        public static setItem(key: string, value: string, isGlobal: boolean = true) {
            if (isGlobal) {
                egret.localStorage.setItem(key, value);
            } else {
                egret.localStorage.setItem(`${this.gameId}_${key}`, value);
            }
            // egret.localStorage.setItem(key, value);
        }

        /**
         * 获取数据
         * @param  {string} key 数据key
         * @param  {boolean=true} isGlobal 是否全局保存
         * @return string   数据
         */
        public static getItem(key: string, isGlobal: boolean = true) {
            if (isGlobal) {
                return egret.localStorage.getItem(key);
            } else {
                return egret.localStorage.getItem(`${this.gameId}_${key}`);
            }
        }
    }
}